package com.xjscrm.console.vo;

import com.xjscrm.common.vo.sop.GroupTigger;
import com.xjscrm.common.vo.sop.HangerTigger;
import com.xjscrm.common.vo.sop.NewCustomerTigger;
import com.xjscrm.common.vo.sop.TagTigger;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

@Data
@ApiModel("sop任务返回对象")
public class SopTaskVo {

    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id")
    private Long id;

    /**
     * 运营商id
     */
    @ApiModelProperty(value = "运营商id")
    private Long merId;

    /**
     * 任务名称
     */
    @ApiModelProperty(value = "任务名称")
    private String name;

    /**
     * 状态（0已关闭 1进行中）
     */
    @ApiModelProperty(value = "状态（0已关闭 1进行中）")
    private Integer status;

    /**
     * 类型(1-手动sop;2-新客户sop;3-标签sop;4-群sop)
     */
    @ApiModelProperty(value = "类型(1-手动sop;2-新客户sop;3-标签sop;4-群sop)")
    private Integer type;

    /**
     * 模板id
     */
    @ApiModelProperty(value = "模板id")
    private Long teaplateId;

    /**
     * 触发条件
     */
    @ApiModelProperty(value = "触发条件")
    private String trigger;

    @ApiModelProperty("手动SOP触发条件")
    private HangerTigger hangerTigger;

    @ApiModelProperty("新客SOP触发条件")
    private NewCustomerTigger newCustomerTigger;

    @ApiModelProperty("标签SOP触发条件")
    private TagTigger tagTigger;

    @ApiModelProperty("群SOP触发条件")
    private GroupTigger groupTigger;
    /**
     * 是否已经处理(0-未处理；1-已处理)
     */
    @ApiModelProperty(value = "是否已经处理(0-未处理；1-已处理)")
    private Integer handerStatus;

    /**
     * 处理时间
     */
    @ApiModelProperty(value = "处理时间")
    private Integer handerTime;

    /**
     * 操作人类型（0-主账号，1-子账号）
     */
    @ApiModelProperty(value = "操作人类型（0-主账号，1-子账号）")
    private Integer operatorType;

    /**
     * 创建人id
     */
    @ApiModelProperty(value = "创建人id")
    private Long createrId;

    @ApiModelProperty(value = "创建人id")
    private String createUserName;

    /**
     * 修改人id
     */
    @ApiModelProperty(value = "修改人id")
    private Long updaterId;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Integer createTime;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    private Integer updateTime;

    @ApiModelProperty("sop任务和客户及客户群关系")
    private List<SopTaskCustomerVo> sopTaskCustomerVoList;

    @ApiModelProperty("sop任务和机器人关系参数")
    private List<SopTaskDeviceVo> sopTaskDeviceVoList;

    @ApiModelProperty("模版名")
    private String templateName;

    @ApiModelProperty("模版类型（所属模块(1-企业模板;2-个人模板)）")
    private Integer teplateModel;
}
